package com.yukh.test.javabase.thread.concurrent.demo1;

import java.util.ArrayList;
import java.util.List;

public class ProductList {
	private static ProductList instance = new ProductList();
	private List<Product> products; // Adapter pattern
	public static final int SIZE = 10;

	private ProductList() {
		products = new ArrayList<Product>(SIZE);
	}

	public static ProductList getInstance() { // Singleton pattern
		return instance;
	}

	public boolean isFull() {
		return products.size() == SIZE;
	}

	public void put(Product product) {
		products.add(product);
	}

	public Product take() {
		return products.remove(0);
	}

	public boolean isEmpty() {
		return products.isEmpty();
	}
}
